<?php

/**
 * 小储实验室
 */
$title = '小储实验室 - 实验性功能';
include "header.php";
?>
<div class="row">
    <div class="col-xl-12">
        <div class="card">
            <div class="card-header">实验室内的功能若达不到预期效果随时可能移除，如果达到效果则会永久内置</div>
            <div class="card-body">
                <div class="row">
                    <div class="col-md-6 mb-4">
                        <h3 class="mb-3 header-title text-success">重复请求拦截配置</h3>
                        <form class="form-horizontal layui-form">

                            <div class="form-group mb-3">
                                <label for="example-input-normal" style="font-weight: 500">重复请求拦截范围</label>
                                <select class="custom-select mt-3" name="RequestValidation[type]">
                                    <option <?= $Lab['RequestValidation']['state'] == 1 ? 'selected' : '' ?> value="1">整站拦截,会导致多用户同时访问时部分被拦截
                                    </option>
                                    <option <?= $Lab['RequestValidation']['state'] == 2 ? 'selected' : '' ?> value="2">根据请求发起者IP拦截
                                    </option>
                                </select>
                            </div>

                            <div class="form-group mb-3">
                                <label for="example-input-normal" style="font-weight: 500">拦截模式</label>
                                <select class="custom-select mt-3" name="RequestValidation[type]">
                                    <option <?= $Lab['RequestValidation']['type'] == 1 ? 'selected' : '' ?> value="1">强硬模式
                                    </option>
                                    <option <?= $Lab['RequestValidation']['type'] == 2 ? 'selected' : '' ?> value="2">柔弱模式
                                    </option>
                                </select>
                            </div>

                            <div class="form-group mb-3">
                                <label for="example-input-normal" style="font-weight: 500">请求放行间隔时间(毫秒级)</label>
                                <input type="text" name="RequestValidation[ms]" lay-verify="required" class="form-control" value="<?= $Lab['RequestValidation']['ms'] ?>" placeholder="请求放行间隔时间！">
                            </div>

                            <button type="submit" lay-submit lay-filter="Web_editor" class="btn btn-block btn-xs btn-success">保存内容
                            </button>
                        </form>
                    </div>
                    <div class="col-md-6">
                        <h3 class="mb-3 header-title text-info">重复请求拦截相关说明</h3>
                        <ul>
                            <li style="color:rgb(216, 4, 4);">问：拦截范围如何选择？</li>
                            <li>答：此功能给出了两种拦截模式，第一种是直接基于整个网站的重复请求进行拦截，如果用户A和用户B同时访问，可能会导致其中一个用户被拦截，无法获取需要的数据，如商品信息等，这时可以将放行时间设置短一点，如10-20，或直接切换到模式二！</li>
                            <li style="color:rgb(216, 4, 4);">问：此功能的作用是什么？</li>
                            <li>答：主要是为了防止某个进程在一同一时间内被重复请求,从而造成不可预知的后果，另外,可能有一点防cc效果</li>
                            <li style="color:rgb(216, 4, 4);">问：强硬模式是什么意思</li>
                            <li>答：强硬模式是为了防止在一同一时间一直重复请求一直不停歇的情况而设计，如果对方一直请求，那么会一直拦截下去，除非停止一段时间，过了放行时间才会解封！</li>
                            <li style="color:rgb(216, 4, 4);">问：柔弱模式是什么意思</li>
                            <li>答：柔弱模式只会按照你设置的放行间隔时间进行拦截，如果一直重复请求，那么他每隔一段时间都可以成功请求一次！</li>
                            <li style="color:rgb(216, 4, 4);">问：请求放行间隔时间如何填写</li>
                            <li>答：一般填写10-500即可，相当于0.01秒-0.5秒，这里的时间格式是毫秒，1000毫秒等于1秒,千万不要填写过大，最好保持在500以内！</li>
                            <li style="color:rgb(216, 4, 4);">问：无法保存或看不到请求放行间隔时间怎么办？</li>
                            <li>答：可能是文件：<font color="red">/includes/LaboratoryConf.php</font> 没有读写权限导致，如果给了权限后还是无法保存的话，那就是你修改成功后网站文件有缓存，无法实时更新！</li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>


<?php include "bottom.php"; ?>

<script>
    layui.use('form', function() {
        var form = layui.form;
        form.on('submit(Web_editor)', function(data) {
            layer.alert('是否要执行当前操作？', {
                icon: 3,
                btn: ['确定', '取消'],
                btn1: function(layero, index) {
                    var index = layer.msg('数据保存中,请稍后...', {
                        icon: 16,
                        time: 999999
                    });
                    $.post('ajax.php?act=LaboratorySet', data.field, function(res) {
                        if (res.code == 1) {
                            layer.close(index);
                            layer.alert(res.msg, {
                                btn1: function(layero, index) {
                                    location.reload();
                                }
                            });
                        } else {
                            layer.close(index);
                            layer.alert(res.msg, {
                                btn1: function(layero, index) {
                                    location.reload();
                                }
                            });
                        }
                    });
                }
            });
            return false;
        })
    });
</script>